package com.stars.pao.springbook.mapper;

import com.stars.pao.springbook.model.BookInfo;
import com.stars.pao.springbook.model.PageRequest;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface BookInfoMapper {

    @Insert("insert into book_info (book_name, author, count, price, publish) " +
            "values (#{bookName}, #{author}, #{count}, #{price}, #{publish} )")
    Integer insertBook(BookInfo bookInfo);

    //    查询总数
    @Select("select count(1) from book_info where `status` <>0")
    Integer count();

    //    查询当前页的数据
    @Select("select * from book_info where `status` <>0 order by id desc limit #{offset}, #{pageSize}")
    List<BookInfo> queryListBypage(PageRequest pageRequest);

    //根据ID查询图书信息
    @Select("select * from book_info where `status` <>0 and id = #{id}")
    BookInfo queryBookById(Integer id);

    //根据ID修改图书
    Integer updateBook(BookInfo bookInfo);

    //批量删除
    Integer batchDelete(List<Integer> ids);
}
